﻿Imports System.ServiceModel

' NOTE: You can use the "Rename" command on the context menu to change the interface name "IReportGenerator" in both code and config file together.
<ServiceContract()>
Public Interface IReportGenerator

    <OperationContract()>
    Function GeneratePDF(ByVal cro As CRObject) As CRResponseObject
End Interface

<DataContract()>
Public Class CRVariable
    <DataMember()>
    Public Property VariableName As String

    <DataMember()>
    Public Property VariableValue As String
End Class


<DataContract()>
Public Class CRObject
    <DataMember()>
    Public Property VariableList As New List(Of CRVariable)

    <DataMember()>
    Public Property FileReportPath As String

    <DataMember()>
    Public Property ServerName As String = ""
    <DataMember()>
    Public Property DBName As String = ""
    <DataMember()>
    Public Property UserName As String = ""
    <DataMember()>
    Public Property PW As String = ""

    <DataMember()>
    Public Property ExportFileName As String

    <DataMember()>
    Public Property ExportPath As String

    <DataMember()>
    Public Property IncludeTimestampOnFile As Boolean = False



End Class


<DataContract()>
Public Class CRResponseObject
    <DataMember()>
    Public Property ExportedFileName As String = ""

    <DataMember()>
    Public Property StatusInfo As StatusInfoType = StatusInfoType.Success

    <DataMember()>
    Public Property ErrorInfo As List(Of String)

End Class
<DataContract()>
Public Enum StatusInfoType
    <EnumMember()>
    Success = 1
    <EnumMember()>
    Failure = 99
End Enum


